package com.zhijian.medical.entity.po;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import javax.validation.constraints.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 课题
 * @author Auto Generator
 * @date 2024-05-11 10:11:38
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Api(tags = "课题")
public class TopicUser {
    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    @NotNull(message = "用户id不能为空")
    private Long userId;

    /**
     * 时间
     */
    @ApiModelProperty("时间")
    private String time;

    /**
     * 项目名称
     */
    @ApiModelProperty("项目名称")
    private String projectName;

    /**
     * 批准号
     */
    @ApiModelProperty("批准号")
    private String approvalNumber;

    /**
     * 项目类别
     */
    @ApiModelProperty("项目类别")
    private String projectType;

    /**
     * 项目状态，1：在研，2：结题
     */
    @ApiModelProperty("项目状态，1：在研，2：结题")
    private Byte projectStatus;

    /**
     * 项目参与状态，1：主持，2：主要研究者，3：参与
     */
    @ApiModelProperty("项目参与状态，1：主持，2：主要研究者，3：参与")
    private Byte projectJoinStatus;

    /**
     * 资助机构
     */
    @ApiModelProperty("资助机构")
    private String financialBody;

    /**
     * 资助金额
     */
    @ApiModelProperty("资助金额")
    private BigDecimal financialPrice;

    /**
     * 奖励发放人
     */
    @ApiModelProperty("奖励发放人")
    private String rewardIssuer;

    /**
     * 奖励发放时间
     */
    @ApiModelProperty("奖励发放时间")
    private String rewardDate;

    /**
     * 成果附件
     */
    @ApiModelProperty("成果附件")
    private String achievementFilePath;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    private Date updateTime;
}